<html>
<head><meta charset="utf-8"><title>matching ids · z-archived-t-compiler/wg-rls-2.0/chalk · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/index.html">z-archived-t-compiler/wg-rls-2.0/chalk</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html">matching ids</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="160725766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160725766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160725766">(Mar 13 2019 at 20:48)</a>:</h4>
<p>So I started experimenting with Chalk's <code>ItemId</code>a bit, trying to split it into <code>StructId</code>, <code>TypeId</code> etc., similar to how RA does it</p>



<a name="160725813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160725813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160725813">(Mar 13 2019 at 20:49)</a>:</h4>
<p>It's amazing how well it fits in many places, since the variable names often reflect what kind of <code>ItemId</code> you're dealing with</p>



<a name="160726070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160726070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160726070">(Mar 13 2019 at 20:51)</a>:</h4>
<p>So currently, my idea is to make <code>ItemId</code> an enum with a variant for each kind of id</p>



<a name="160726268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160726268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160726268">(Mar 13 2019 at 20:54)</a>:</h4>
<p>There's some places where there's two kinds of ids grouped together, and some of those are kind of tricky. The <code>NameLookup::Type(TypeId)</code> seems to hold either a <code>TraitId</code> or a <code>TypeId</code>. I'm not sure whether to use 2 separate variants for the <code>NameLookup</code> enum, or to create a <code>TypeOrTraitId</code> enum</p>



<a name="160726569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160726569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160726569">(Mar 13 2019 at 20:58)</a>:</h4>
<blockquote>
<p>So currently, my idea is to make <code>ItemId</code> an enum with a variant for each kind of id</p>
</blockquote>
<p>I think that the rust-analyzer does the same (right <span class="user-mention" data-user-id="129457">@Florian Diebold</span>?)</p>



<a name="160726642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160726642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160726642">(Mar 13 2019 at 20:59)</a>:</h4>
<blockquote>
<p>There's some places where there's two kinds of ids grouped together, and some of those are kind of tricky. The <code>NameLookup::Type(TypeId)</code> seems to hold either a <code>TraitId</code> or a <code>TypeId</code>. I'm not sure whether to use 2 separate variants for the <code>NameLookup</code> enum, or to create a <code>TypeOrTraitId</code> enum</p>
</blockquote>
<p>Hmm. Seems like we could add a <code>NameLookup::Trait</code> to the <code>NameLookup</code> enum</p>



<a name="160726744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160726744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160726744">(Mar 13 2019 at 21:00)</a>:</h4>
<p>Right, I think RA's <code>ArenaId</code> does the same thing</p>



<a name="160727191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160727191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160727191">(Mar 13 2019 at 21:06)</a>:</h4>
<p>Ah, the <code>TypeSort</code> enum (Struct | Trait) looks similar to the type/trait thing</p>



<a name="160729101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160729101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160729101">(Mar 13 2019 at 21:32)</a>:</h4>
<p>This seems to work out, though it's a bit repetitive:</p>
<div class="codehilite"><pre><span></span>for (item, &amp;item_id) in self.items.iter().zip(&amp;item_ids) {
    if let (Item::TraitDefn(ref d), ItemId::TraitId(trait_id)) = (*item, item_id) {
</pre></div>



<a name="160729459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160729459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160729459">(Mar 13 2019 at 21:37)</a>:</h4>
<p>Oh wait, that's doesn't make any sense, since the item ids are also generated during lowering, so that needs to change</p>



<a name="160729944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160729944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160729944">(Mar 13 2019 at 21:42)</a>:</h4>
<p>Hmm, maybe Chalk needs to generate the ids in the same way that rust-analyzer does it (assuming RA does that somewhere, haven't found it yet)</p>



<a name="160731288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160731288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160731288">(Mar 13 2019 at 22:00)</a>:</h4>
<p>(deleted)</p>



<a name="160731337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160731337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160731337">(Mar 13 2019 at 22:01)</a>:</h4>
<p>RA has various enums depending on usage for situations where multiple different types of item can be used</p>



<a name="160731460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160731460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160731460">(Mar 13 2019 at 22:02)</a>:</h4>
<p>e.g. <a href="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/adt.rs#L19" target="_blank" title="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/adt.rs#L19">https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/adt.rs#L19</a>, or <a href="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/code_model_api.rs#L73" target="_blank" title="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/code_model_api.rs#L73">https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/code_model_api.rs#L73</a></p>



<a name="160731529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160731529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Florian Diebold <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160731529">(Mar 13 2019 at 22:03)</a>:</h4>
<p>IDs are generated by interning the locations of items (as in 'nth item of that type in file x'), here: <a href="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/ids.rs" target="_blank" title="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/ids.rs">https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir/src/ids.rs</a></p>



<a name="160756576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160756576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160756576">(Mar 14 2019 at 06:58)</a>:</h4>
<blockquote>
<p>I think that the rust-analyzer does the same</p>
</blockquote>
<p>Not exactly. We don't have a single "universal ID for everything" enum. As <span class="user-mention silent" data-user-id="129457">Florian Diebold</span> said, we just create ad-hock eums for a subset of ids when we need them.</p>



<a name="160757452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160757452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160757452">(Mar 14 2019 at 07:23)</a>:</h4>
<p>Ah, so ids are generated by the interning, gotcha. Then Chalk's way during lowering is slightly simpler, as it simply zips the items iterator with fresh ids</p>



<a name="160757856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160757856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160757856">(Mar 14 2019 at 07:33)</a>:</h4>
<blockquote>
<p>I think that the rust-analyzer does the same</p>
</blockquote>
<p>Not exactly. We don't have a single "universal ID for everything" enum. As <span class="user-mention silent" data-user-id="129457">Florian Diebold</span> said, we just create ad-hock eums for a subset of ids when we need them.  (EDIT: this actually is hand-written "polymorphic variants" from OCaml I guess?)</p>



<a name="160757981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160757981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160757981">(Mar 14 2019 at 07:36)</a>:</h4>
<p>So you mean that there's no global counter to generate ids?</p>



<a name="160758563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160758563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160758563">(Mar 14 2019 at 07:49)</a>:</h4>
<p>Yep. This seems like a deep phenomenon of salsa-based systems. You need some kind of "identity", to refer to entities.</p>
<p>One choice is to collect all entities into one big array and use index into the array as an ID (so, a global counter). This is bad for incremental, as removing an entity shifts ids.</p>
<p>The second choice is a fine-grained location, like "file <a href="http://foo.rs" target="_blank" title="http://foo.rs">foo.rs</a>, line 92, col 63". In this setup entities are somewhat independent (adding entity shifts ids only within one file), but still locations themselves are fragile</p>
<p>The third choice is a path-based location "field with name <code>foo</code> in a struct named<code>Bar</code> in file <code>baz.rs</code>". This are stable, but big. Like, entities can be recursive, so paths can be arbitrary large. This, however, can be fixed by interning the path, effectively compressing it to <code>u32</code>.</p>



<a name="160818179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160818179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160818179">(Mar 14 2019 at 20:15)</a>:</h4>
<p>I got things to compile after splitting up the ids: <a href="https://github.com/rust-lang/chalk/pull/208/files" target="_blank" title="https://github.com/rust-lang/chalk/pull/208/files">https://github.com/rust-lang/chalk/pull/208/files</a></p>



<a name="160818258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160818258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160818258">(Mar 14 2019 at 20:16)</a>:</h4>
<p>Glad to see that tests are failing, which means they're working <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span></p>



<a name="160863026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160863026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160863026">(Mar 15 2019 at 10:33)</a>:</h4>
<p>Hmm, do associated types fall under types or traits? Tests are saying that <code>Eq</code> is a type, whereas a trait was expected</p>



<a name="160863317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/160863317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#160863317">(Mar 15 2019 at 10:37)</a>:</h4>
<p>Since <code>AssociatedTyDatum</code> has both a <code>trait_id</code> and an <code>id</code>, I guess it should really be a type</p>



<a name="161448199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161448199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161448199">(Mar 22 2019 at 13:40)</a>:</h4>
<p>That <code>debug_item_id</code> function was tricky to get right after splitting up the ids, but I got the tests green at least</p>



<a name="161481316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161481316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161481316">(Mar 22 2019 at 20:33)</a>:</h4>
<p><span class="user-mention" data-user-id="125131">@detrumi</span> sorry for not following up here! This PR looks quite nice, looks like it just needs to be rebased?</p>



<a name="161481552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161481552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161481552">(Mar 22 2019 at 20:36)</a>:</h4>
<p>Oh that's new, let me rebase again</p>



<a name="161481672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161481672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161481672">(Mar 22 2019 at 20:38)</a>:</h4>
<p>The debug impls are a bit messy, since there's some lookups in one of the impls</p>



<a name="161481710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161481710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161481710">(Mar 22 2019 at 20:39)</a>:</h4>
<p>Ah, ok</p>



<a name="161481720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161481720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161481720">(Mar 22 2019 at 20:39)</a>:</h4>
<p>Maybe leave a comment on what you are referring to?</p>



<a name="161483740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161483740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161483740">(Mar 22 2019 at 21:03)</a>:</h4>
<p>Actually, the code seems straightforward enough</p>



<a name="161485412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161485412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161485412">(Mar 22 2019 at 21:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Rebased and all green!</p>



<a name="161485557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161485557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161485557">(Mar 22 2019 at 21:26)</a>:</h4>
<p>Merged, nice work!</p>



<a name="161485594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching%20ids/near/161485594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/191167-z-archived-t-compiler/wg-rls-2.0/chalk/topic/matching.20ids.html#161485594">(Mar 22 2019 at 21:27)</a>:</h4>
<p>Thanks!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>